home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / MOS / MOSGLOBA.D < prev    next >
Encoding:
Modula Definition  |  1990-11-25  |  7.2 KB  |  148 lines

  1. DEFINITION MODULE MOSGlobals;
  2.  
  3. FROM SYSTEM IMPORT LOC, ADDRESS;
  4.  
  5. TYPE    MemArea = RECORD                (* Definiert einen Speicherbereich: *)
  6.                     bottom: ADDRESS;    (* Startadresse *)
  7.                     length: LONGCARD    (* Länge in Bytes *)
  8.                   END;
  9.  
  10. PROCEDURE MEM (VAR data: LONGARRAY OF LOC): MemArea;
  11.   (*
  12.    * Liefert die Speicherbereichs-Beschreibung einer Variablen.
  13.    * Ist ggf. bequemer anzuwenden, als ADR und SIZE der Variable
  14.    * einzeln zu ermitteln.
  15.    *)
  16.  
  17. TYPE
  18.         CtrlKey = ( shift, control, alternate, capsLock );
  19.         CtrlSet = SET OF CtrlKey;
  20.  
  21.         Key = RECORD
  22.                 ch  : CHAR;
  23.                 ctrl: CtrlSet;
  24.                 scan: CARDINAL;
  25.               END;
  26.  
  27.  
  28.         FileStr  = ARRAY [0..139] OF CHAR; (* Datei- & Pfadname *)
  29.         DriveStr = ARRAY [0..1] OF CHAR;   (* Laufwerksname *)
  30.         PathStr  = ARRAY [0..127] OF CHAR; (* Pfadname (incl. Laufwerk) *)
  31.         NameStr  = ARRAY [0..11] OF CHAR;  (* Dateiname ohne Pfad *)
  32.         PfxStr   = ARRAY [0..7] OF CHAR;   (* Prefix (Name ohne Extension) *)
  33.         SfxStr   = ARRAY [0..2] OF CHAR;   (* Suffix (Extension) ohne '.' *)
  34.  
  35.         Drive = ( defaultDrv, drvA, drvB, drvC, drvD, drvE, drvF, drvG,
  36.                   drvH, drvI, drvJ, drvK, drvL, drvM, drvN, drvO, drvP);
  37.  
  38.         DriveSet = SET OF [drvA..drvP];
  39.  
  40.  
  41.         Date = RECORD
  42.                  day  : [1..31];
  43.                  month: [1..12];
  44.                  year : INTEGER;
  45.                END;
  46.  
  47.         Time = RECORD
  48.                  second: [0..59];
  49.                  minute: [0..59];
  50.                  hour  : [0..23]
  51.                END;
  52.  
  53.  
  54. CONST
  55.  
  56.   (* Laufzeit-Fehlernummern *)
  57.  
  58.         NoErr          =  0;  (* Kein Fehler *)
  59.         GeneralErr     = -1;  (* Nicht näher spezifizierter Fehler *)
  60.         BusFault       = -2;  (* Zugriff auf nicht existente Adresse *)
  61.         OddBusAddr     = -3;  (* Wortweiser Zugriff auf ungerade Adresse *)
  62.         IllegalInstr   = -4;  (* CPU traf auf unbekannte Instruktion *)
  63.         DivByZero      = -5;  (* Division durch Null *)
  64.         OutOfRange     = -6;  (* Variable außerhalb des definierten Bereichs *)
  65.         Overflow       = -7;  (* Überlauf bei einer Berechnung *)
  66.         StringOverflow = -8;  (* String oder Open Array faßt Daten nicht *)
  67.         NoValidRETURN  = -9;  (* Rückkehr aus Funktion ohne Wertrückgabe *)
  68.         OutOfStack     = -10; (* Stacküberlauf *)
  69.         HALTInstr      = -11; (* HALT - Breakpoint erreicht *)
  70.         FileSystemErr  = -12; (* Fehler im Dateisystem *)
  71.         OutOfMemory    = -13; (* Kein genügender Speicherplatz mehr *)
  72.         IllegalCall    = -14; (* Unerlaubter Aufruf (ggf. falsche Argumente) *)
  73.         CoroutineRtn   = -15; (* Rückkehr aus Coroutine *)
  74.         InternalFault  = -16; (* Interner Fehler *)
  75.         IllegalProcVar = -17; (* Undefinierte PROCEDURE - Variable *)
  76.         IllegalPointer = -18; (* Uninitialisierte POINTER - Variable *)
  77.         UserBreak      = -19; (* Abbruch vom Anwender *)
  78.         IllegalState   = -20; (* Interner Statusfehler *)
  79.         Exception      = -21; (* CPU erzeugte diverse Exception *)
  80.         GenFPErr       = -22; (* Allg. Floating-Point Fehler *)
  81.         CaseSelectErr  = -23; (* Nicht erfüllter CASE-Fall *)
  82.         ConfigErr      = -24; (* Allg. Konfigurationsfehler, z.B. keine FPU *)
  83.         IllegalClosure = -25; (* Zuweisung lokaler Proz. an Proc-Variable *)
  84.         GemErr         = -26; (* GEM-Fehler trat auf (s. GEMEnv.ErrorProc) *)
  85.  
  86.  
  87.   (* Datei-Fehlernummern (Files, Text, NumberIO, Binary, Directory *)
  88.  
  89.         (* Von MM2 (intern) definiert: *)
  90.         fNoMatchingFiles = 5;     (* Directory.DirQuery: Verz. ist leer *)
  91.         fNotDeleted = 4;          (* Directory.Delete: Datei nicht vorhanden *)
  92.         fWasNotOpen = 3;          (* Files.Close: Datei war nicht offen *)
  93.         fEOF = 2;                 (* Dateiende erreicht *)
  94.         fEOL = 1;                 (* Zeilenende erreicht *)
  95.         
  96.         (* Von GEMDOS definiert: *)
  97.         fOK = 0;                  (* Kein Fehler *)
  98.         fError = -1;              (* Allgemeiner Fehler, z.B. Timeout *)
  99.         fDriveNotReady = -2;      (* Laufwerk nicht ansprechbar *)
  100.         fUnknownCmd = -3;         (* Unbekannte Funktion *)
  101.         fCRCError = -4;           (* Prüfsummenfehler *)
  102.         fBadRequest = -5;         (* Unerlaubte Funktionsanforderung *)
  103.         fSeekError = -6;          (* Diskzugriff: Medium defekt *)
  104.         fUnknownMedia = -7;       (* Diskzugriff: Unbekanntes Format *)
  105.         fSectorNotFound = -8;     (* Diskzugriff: Sektor nicht vorhanden *)
  106.         fNoPaper = -9;            (* Drucker: Papier fehlt *)
  107.         fWriteFault = -10;        (* Diskzugriff: Schreibfehler *)
  108.         fReadFault = -11;         (* Diskzugriff: Lesefehler *)
  109.         fGenError = -12;          (* Diskzugriff: Allgemeiner Fehler *)
  110.         fWriteProtected = -13;    (* Diskzugriff: Schreibschutz aktiv *)
  111.         fMediaChanged = -14;      (* Diskzugriff: Diskette wurde gewechselt *)
  112.         fUnknownDevice = -15;     (* Unbekanntes Gerät *)
  113.         fBadSectorsOnFormat = -16;(* Fehlerhafte Sektoren beim Formatieren *)
  114.         fInsertOtherDisk = -17;   (* Andere Disk (A: <-> B:) einlegen *)
  115.         fInvalidFunctionNr = -32; (* Unerlaubte Funktionsnummer *)
  116.         fFileNotFound = -33;      (* Datei nicht gefunden *)
  117.         fPathNotFound = -34;      (* Directory nicht gefunden *)
  118.         fTooManyOpen = -35;       (* Zu viele Dateien geöffnet *)
  119.         fAccessDenied = -36;      (* Zugriff verwehrt *)
  120.         fInvalidHandle = -37;     (* Unerlaubte Zugriffskennung *)
  121.         fInsufficientMemory = -39;(* Zu wenig Speicher *)
  122.         fInvalidMemBlkAddr = -40; (* Unbekannte Speicherblockadresse *)
  123.         fInvalidDrive = -46;      (* Unerlaubtes Laufwerk *)
  124.         fDiffDrives = -48;        (* Rename: Quell- und Ziel-LW sind versch. *)
  125.         fNoMoreFiles = -49;       (* Fsnext(): Keine weiteren Dateien *)
  126.         fRangeError = -64;        (* Bereichsüberschreitung *)
  127.         fInternalError = -65;     (* Interner Fehler *)
  128.         fBadFormatOfPrg = -66;    (* Illegales Format der Programmdatei *)
  129.         fResizeFailure = -67;     (* Speicherblock nicht vergrößbar *)
  130.  
  131.         (* Von MM2 (intern) definiert: *)
  132.         fOutOfMem = -128;         (* Nicht genügend Speicherplatz frei *)
  133.         fFileExists = -129;       (* Datei existiert schon *)
  134.         fNoReadAllowed = -130;    (* Lesezugriff nicht erlaubt *)
  135.         fFileNotClosed = -131;    (* Datei noch offen *)
  136.         fFileNotOpen = -132;      (* Datei nicht offen *)
  137.         fInternalErr1 = -133;     (* Interner Fehler *)
  138.         fInternalErr2 = -134;     (* Interner Fehler *)
  139.         fBadOp = -136;            (* Zugriff in falschem Modus *)
  140.         fBadAccess = -137;        (* Lese- bzw. Schreibzugriff nicht erlaubt *)
  141.         fEndOfFile = -138;        (* Dateiende überschritten *)
  142.         fDoubleUndo = -139;       (* Wiederholter 'UndoRead'-Aufruf *)
  143.         fNameTooLarge = -140;     (* Dateiname zu lang *)
  144.         fDiskFull = -141;         (* Kein Speicherplatz auf Disk mehr *)
  145.         fIllegalCall = -142;      (* Unerlaubter Funktionsaufruf *)
  146.  
  147. END MOSGlobals.
  148.